package com.ourteam.product.requirement.dao;

import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Map;


/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 CST 2017
 * Auto Generate Date : 2018-05-03 16:45:35
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public class ProductIssueNoteDAOQueryBean extends BaseQueryBean {
    public ProductIssueNoteDAOQueryBean() {
        super();
    }

    public ProductIssueNoteDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }

    public ProductIssueNoteDAOQueryBean(BaseQueryBean aQueryBean,
        Map tableReplaceMap) {
        super(aQueryBean, tableReplaceMap);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();

        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }

        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria(this);
    }

    public void addIdSelectProperty() {
        addIdSelectProperty("id");
    }

    public void addIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.Id, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.Id, "id");
        }
    }

    public void addIssueIdSelectProperty() {
        addIssueIdSelectProperty("issueId");
    }

    public void addIssueIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.IssueId, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.IssueId, "issueId");
        }
    }

    public void addNoteContentSelectProperty() {
        addNoteContentSelectProperty("noteContent");
    }

    public void addNoteContentSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.NoteContent, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.NoteContent, "noteContent");
        }
    }

    public void addNoteTimeSelectProperty() {
        addNoteTimeSelectProperty("noteTime");
    }

    public void addNoteTimeSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.NoteTime, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.NoteTime, "noteTime");
        }
    }

    public void addNoteUserIdSelectProperty() {
        addNoteUserIdSelectProperty("noteUserId");
    }

    public void addNoteUserIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.NoteUserId, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.NoteUserId, "noteUserId");
        }
    }

    public void addNoteUserNameSelectProperty() {
        addNoteUserNameSelectProperty("noteUserName");
    }

    public void addNoteUserNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.NoteUserName, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.NoteUserName, "noteUserName");
        }
    }

    public void addNoteUserPhotoSelectProperty() {
        addNoteUserPhotoSelectProperty("noteUserPhoto");
    }

    public void addNoteUserPhotoSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductIssueNoteDAO.NoteUserPhoto, aAlias);
        } else {
            addSelectProperty(IProductIssueNoteDAO.NoteUserPhoto,
                "noteUserPhoto");
        }
    }

    public void addAllSelectProperties() {
        addIdSelectProperty();

        addIssueIdSelectProperty();

        addNoteContentSelectProperty();

        addNoteTimeSelectProperty();

        addNoteUserIdSelectProperty();

        addNoteUserNameSelectProperty();

        addNoteUserPhotoSelectProperty();
    }

    public static class Criteria extends BaseWhereCriterion<ProductIssueNoteDAOQueryBean> {
        protected Criteria(ProductIssueNoteDAOQueryBean aParentObject) {
            super(aParentObject);
        }

        public Criteria andIdIsNull() {
            addCriterion(IProductIssueNoteDAO.Id + " is null");

            return this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion(IProductIssueNoteDAO.Id + " is not null");

            return this;
        }

        public Criteria andIdIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.Id + " is not null AND " +
                IProductIssueNoteDAO.Id + " <> ''");

            return this;
        }

        public Criteria andIdIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.Id + " is null OR " +
                IProductIssueNoteDAO.Id + " = '')");

            return this;
        }

        public Criteria andIdEqualTo(long value) {
            return andIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIdEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " = ", value, "id");

            return this;
        }

        public Criteria andIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.Id);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotEqualTo(long value) {
            return andIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToOrIsNull(long value) {
            return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " is null OR " +
                IProductIssueNoteDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.Id);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThan(long value) {
            return andIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " >", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.Id);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(long value) {
            return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " >=", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.Id);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThan(long value) {
            return andIdLessThan(Long.valueOf(value));
        }

        public Criteria andIdLessThan(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " <", value, "id");

            return this;
        }

        public Criteria andIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.Id);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(long value) {
            return andIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.Id + " <=", value, "id");

            return this;
        }

        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.Id);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdIn(long[] values) {
            if (values.length == 1) {
                return andIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.Id + " in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.Id + " not in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.Id + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdBetween(long value1, long value2) {
            addCriterion(IProductIssueNoteDAO.Id + " between", value1, value2,
                "id");

            return this;
        }

        public Criteria andIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductIssueNoteDAO.Id + " between", value1, value2,
                "id");

            return this;
        }

        public Criteria andIdNotBetween(long value1, long value2) {
            addCriterion(IProductIssueNoteDAO.Id + " not between", value1,
                value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductIssueNoteDAO.Id + " not between", value1,
                value2, "id");

            return this;
        }

        public Criteria andIssueIdIsNull() {
            addCriterion(IProductIssueNoteDAO.IssueId + " is null");

            return this;
        }

        public Criteria andIssueIdIsNotNull() {
            addCriterion(IProductIssueNoteDAO.IssueId + " is not null");

            return this;
        }

        public Criteria andIssueIdIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.IssueId + " is not null AND " +
                IProductIssueNoteDAO.IssueId + " <> ''");

            return this;
        }

        public Criteria andIssueIdIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.IssueId + " is null OR " +
                IProductIssueNoteDAO.IssueId + " = '')");

            return this;
        }

        public Criteria andIssueIdEqualTo(long value) {
            return andIssueIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIssueIdEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " = ", value, "issueId");

            return this;
        }

        public Criteria andIssueIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.IssueId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIssueIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andIssueIdNotEqualTo(long value) {
            return andIssueIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIssueIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " <>", value, "issueId");

            return this;
        }

        public Criteria andIssueIdNotEqualToOrIsNull(long value) {
            return andIssueIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIssueIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " is null OR " +
                IProductIssueNoteDAO.IssueId + " <>", value, "issueId");

            return this;
        }

        public Criteria andIssueIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.IssueId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIssueIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andIssueIdGreaterThan(long value) {
            return andIssueIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIssueIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " >", value, "issueId");

            return this;
        }

        public Criteria andIssueIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.IssueId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIssueIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andIssueIdGreaterThanOrEqualTo(long value) {
            return andIssueIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIssueIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " >=", value, "issueId");

            return this;
        }

        public Criteria andIssueIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.IssueId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIssueIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andIssueIdLessThan(long value) {
            return andIssueIdLessThan(Long.valueOf(value));
        }

        public Criteria andIssueIdLessThan(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " <", value, "issueId");

            return this;
        }

        public Criteria andIssueIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.IssueId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIssueIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andIssueIdLessThanOrEqualTo(long value) {
            return andIssueIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIssueIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.IssueId + " <=", value, "issueId");

            return this;
        }

        public Criteria andIssueIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.IssueId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIssueIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andIssueIdIn(long[] values) {
            if (values.length == 1) {
                return andIssueIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.IssueId + " in", values,
                    "issueId");

                return this;
            }
        }

        public Criteria andIssueIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIssueIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.IssueId + " not in", values,
                    "issueId");

                return this;
            }
        }

        public Criteria andIssueIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIssueIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.IssueId + " in", values,
                    "issueId");

                return this;
            }
        }

        public Criteria andIssueIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIssueIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.IssueId + " not in", values,
                    "issueId");

                return this;
            }
        }

        public Criteria andIssueIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIssueIdEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.IssueId + " in",
                    Arrays.asList(values), "issueId");

                return this;
            }
        }

        public Criteria andIssueIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIssueIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.IssueId + " not in",
                    Arrays.asList(values), "issueId");

                return this;
            }
        }

        public Criteria andIssueIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andIssueIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.IssueId + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andIssueIdBetween(long value1, long value2) {
            addCriterion(IProductIssueNoteDAO.IssueId + " between", value1,
                value2, "issueId");

            return this;
        }

        public Criteria andIssueIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductIssueNoteDAO.IssueId + " between", value1,
                value2, "issueId");

            return this;
        }

        public Criteria andIssueIdNotBetween(long value1, long value2) {
            addCriterion(IProductIssueNoteDAO.IssueId + " not between", value1,
                value2, "issueId");

            return this;
        }

        public Criteria andIssueIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductIssueNoteDAO.IssueId + " not between", value1,
                value2, "issueId");

            return this;
        }

        public Criteria andNoteContentIsNull() {
            addCriterion(IProductIssueNoteDAO.NoteContent + " is null");

            return this;
        }

        public Criteria andNoteContentIsNotNull() {
            addCriterion(IProductIssueNoteDAO.NoteContent + " is not null");

            return this;
        }

        public Criteria andNoteContentIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.NoteContent +
                " is not null AND " + IProductIssueNoteDAO.NoteContent +
                " <> ''");

            return this;
        }

        public Criteria andNoteContentIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.NoteContent +
                " is null OR " + IProductIssueNoteDAO.NoteContent + " = '')");

            return this;
        }

        public Criteria andNoteContentEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " = ", value,
                "noteContent");

            return this;
        }

        public Criteria andNoteContentEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteContent);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteContentEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentNotEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " <>", value,
                "noteContent");

            return this;
        }

        public Criteria andNoteContentNotEqualToOrIsNull(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " is null OR " +
                IProductIssueNoteDAO.NoteContent + " <>", value, "noteContent");

            return this;
        }

        public Criteria andNoteContentNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteContent);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteContentNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentGreaterThan(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " >", value,
                "noteContent");

            return this;
        }

        public Criteria andNoteContentGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteContent);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteContentGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentGreaterThanOrEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " >=", value,
                "noteContent");

            return this;
        }

        public Criteria andNoteContentGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteContent);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteContentGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentLessThan(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " <", value,
                "noteContent");

            return this;
        }

        public Criteria andNoteContentLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteContent);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteContentLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentLessThanOrEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " <=", value,
                "noteContent");

            return this;
        }

        public Criteria andNoteContentLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteContent);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteContentLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductIssueNoteDAO.NoteContent + " like",
                buffer.toString(), "noteContent");

            return this;
        }

        public Criteria andNoteContentNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductIssueNoteDAO.NoteContent + " not like",
                buffer.toString(), "noteContent");

            return this;
        }

        public Criteria andNoteContentIn(List<String> values) {
            if (values.size() == 1) {
                return andNoteContentEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteContent + " in", values,
                    "noteContent");

                return this;
            }
        }

        public Criteria andNoteContentNotIn(List<String> values) {
            if (values.size() == 1) {
                return andNoteContentNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteContent + " not in",
                    values, "noteContent");

                return this;
            }
        }

        public Criteria andNoteContentIn(String[] values) {
            if (values.length == 1) {
                return andNoteContentEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteContent + " in",
                    Arrays.asList(values), "noteContent");

                return this;
            }
        }

        public Criteria andNoteContentNotIn(String[] values) {
            if (values.length == 1) {
                return andNoteContentNotEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteContent + " not in",
                    Arrays.asList(values), "noteContent");

                return this;
            }
        }

        public Criteria andNoteContentIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteContentBetween(String value1, String value2) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " between", value1,
                value2, "noteContent");

            return this;
        }

        public Criteria andNoteContentNotBetween(String value1, String value2) {
            addCriterion(IProductIssueNoteDAO.NoteContent + " not between",
                value1, value2, "noteContent");

            return this;
        }

        public Criteria andNoteTimeIsNull() {
            addCriterion(IProductIssueNoteDAO.NoteTime + " is null");

            return this;
        }

        public Criteria andNoteTimeIsNotNull() {
            addCriterion(IProductIssueNoteDAO.NoteTime + " is not null");

            return this;
        }

        public Criteria andNoteTimeIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.NoteTime + " is not null AND " +
                IProductIssueNoteDAO.NoteTime + " <> ''");

            return this;
        }

        public Criteria andNoteTimeIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.NoteTime + " is null OR " +
                IProductIssueNoteDAO.NoteTime + " = '')");

            return this;
        }

        public Criteria andNoteTimeEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " = ",
                value, "noteTime");

            return this;
        }

        public Criteria andNoteTimeEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteTime);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteTimeEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeNotEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " <>",
                value, "noteTime");

            return this;
        }

        public Criteria andNoteTimeNotEqualToOrIsNull(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime +
                " is null OR " + IProductIssueNoteDAO.NoteTime + " <>", value,
                "noteTime");

            return this;
        }

        public Criteria andNoteTimeNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteTime);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteTimeNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeGreaterThan(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " >",
                value, "noteTime");

            return this;
        }

        public Criteria andNoteTimeGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteTime);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteTimeGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeGreaterThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " >=",
                value, "noteTime");

            return this;
        }

        public Criteria andNoteTimeGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteTime);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteTimeGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeLessThan(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " <",
                value, "noteTime");

            return this;
        }

        public Criteria andNoteTimeLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteTime);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteTimeLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeLessThanOrEqualTo(java.util.Date value) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " <=",
                value, "noteTime");

            return this;
        }

        public Criteria andNoteTimeLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteTime);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteTimeLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andNoteTimeEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " in",
                    values, "noteTime");

                return this;
            }
        }

        public Criteria andNoteTimeNotIn(List<java.util.Date> values) {
            if (values.size() == 1) {
                return andNoteTimeNotEqualTo(values.get(0));
            } else {
                addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime +
                    " not in", values, "noteTime");

                return this;
            }
        }

        public Criteria andNoteTimeIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andNoteTimeEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " in",
                    Arrays.asList(values), "noteTime");

                return this;
            }
        }

        public Criteria andNoteTimeNotIn(java.util.Date[] values) {
            if (values.length == 1) {
                return andNoteTimeNotEqualTo(values[0]);
            } else {
                addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime +
                    " not in", Arrays.asList(values), "noteTime");

                return this;
            }
        }

        public Criteria andNoteTimeIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteTimeNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteTime + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteTimeBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime + " between",
                value1, value2, "noteTime");

            return this;
        }

        public Criteria andNoteTimeNotBetween(java.util.Date value1,
            java.util.Date value2) {
            addCriterionForJDBCDate(IProductIssueNoteDAO.NoteTime +
                " not between", value1, value2, "noteTime");

            return this;
        }

        public Criteria andNoteUserIdIsNull() {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " is null");

            return this;
        }

        public Criteria andNoteUserIdIsNotNull() {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " is not null");

            return this;
        }

        public Criteria andNoteUserIdIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " is not null AND " +
                IProductIssueNoteDAO.NoteUserId + " <> ''");

            return this;
        }

        public Criteria andNoteUserIdIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.NoteUserId +
                " is null OR " + IProductIssueNoteDAO.NoteUserId + " = '')");

            return this;
        }

        public Criteria andNoteUserIdEqualTo(long value) {
            return andNoteUserIdEqualTo(Long.valueOf(value));
        }

        public Criteria andNoteUserIdEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " = ", value,
                "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteUserIdNotEqualTo(long value) {
            return andNoteUserIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andNoteUserIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " <>", value,
                "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdNotEqualToOrIsNull(long value) {
            return andNoteUserIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andNoteUserIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " is null OR " +
                IProductIssueNoteDAO.NoteUserId + " <>", value, "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserIdGreaterThan(long value) {
            return andNoteUserIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andNoteUserIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " >", value,
                "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteUserIdGreaterThanOrEqualTo(long value) {
            return andNoteUserIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andNoteUserIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " >=", value,
                "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserIdLessThan(long value) {
            return andNoteUserIdLessThan(Long.valueOf(value));
        }

        public Criteria andNoteUserIdLessThan(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " <", value,
                "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andNoteUserIdLessThanOrEqualTo(long value) {
            return andNoteUserIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andNoteUserIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " <=", value,
                "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserIdIn(long[] values) {
            if (values.length == 1) {
                return andNoteUserIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserId + " in", values,
                    "noteUserId");

                return this;
            }
        }

        public Criteria andNoteUserIdNotIn(long[] values) {
            if (values.length == 1) {
                return andNoteUserIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserId + " not in",
                    values, "noteUserId");

                return this;
            }
        }

        public Criteria andNoteUserIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andNoteUserIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserId + " in", values,
                    "noteUserId");

                return this;
            }
        }

        public Criteria andNoteUserIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andNoteUserIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserId + " not in",
                    values, "noteUserId");

                return this;
            }
        }

        public Criteria andNoteUserIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andNoteUserIdEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserId + " in",
                    Arrays.asList(values), "noteUserId");

                return this;
            }
        }

        public Criteria andNoteUserIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andNoteUserIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserId + " not in",
                    Arrays.asList(values), "noteUserId");

                return this;
            }
        }

        public Criteria andNoteUserIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserIdBetween(long value1, long value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " between", value1,
                value2, "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " between", value1,
                value2, "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdNotBetween(long value1, long value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " not between",
                value1, value2, "noteUserId");

            return this;
        }

        public Criteria andNoteUserIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserId + " not between",
                value1, value2, "noteUserId");

            return this;
        }

        public Criteria andNoteUserNameIsNull() {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " is null");

            return this;
        }

        public Criteria andNoteUserNameIsNotNull() {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " is not null");

            return this;
        }

        public Criteria andNoteUserNameIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.NoteUserName +
                " is not null AND " + IProductIssueNoteDAO.NoteUserName +
                " <> ''");

            return this;
        }

        public Criteria andNoteUserNameIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.NoteUserName +
                " is null OR " + IProductIssueNoteDAO.NoteUserName + " = '')");

            return this;
        }

        public Criteria andNoteUserNameEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " = ", value,
                "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameNotEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " <>", value,
                "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " is null OR " +
                IProductIssueNoteDAO.NoteUserName + " <>", value, "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameGreaterThan(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " >", value,
                "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " >=", value,
                "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameLessThan(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " <", value,
                "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameLessThanOrEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " <=", value,
                "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductIssueNoteDAO.NoteUserName + " like",
                buffer.toString(), "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductIssueNoteDAO.NoteUserName + " not like",
                buffer.toString(), "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameIn(List<String> values) {
            if (values.size() == 1) {
                return andNoteUserNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserName + " in", values,
                    "noteUserName");

                return this;
            }
        }

        public Criteria andNoteUserNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andNoteUserNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserName + " not in",
                    values, "noteUserName");

                return this;
            }
        }

        public Criteria andNoteUserNameIn(String[] values) {
            if (values.length == 1) {
                return andNoteUserNameEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserName + " in",
                    Arrays.asList(values), "noteUserName");

                return this;
            }
        }

        public Criteria andNoteUserNameNotIn(String[] values) {
            if (values.length == 1) {
                return andNoteUserNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserName + " not in",
                    Arrays.asList(values), "noteUserName");

                return this;
            }
        }

        public Criteria andNoteUserNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserNameBetween(String value1, String value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " between",
                value1, value2, "noteUserName");

            return this;
        }

        public Criteria andNoteUserNameNotBetween(String value1, String value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserName + " not between",
                value1, value2, "noteUserName");

            return this;
        }

        public Criteria andNoteUserPhotoIsNull() {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " is null");

            return this;
        }

        public Criteria andNoteUserPhotoIsNotNull() {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " is not null");

            return this;
        }

        public Criteria andNoteUserPhotoIsNotEmpty() {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto +
                " is not null AND " + IProductIssueNoteDAO.NoteUserPhoto +
                " <> ''");

            return this;
        }

        public Criteria andNoteUserPhotoIsEmpty() {
            addCriterion("(" + IProductIssueNoteDAO.NoteUserPhoto +
                " is null OR " + IProductIssueNoteDAO.NoteUserPhoto + " = '')");

            return this;
        }

        public Criteria andNoteUserPhotoEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " = ", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserPhoto);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserPhotoEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " = ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoNotEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " <>", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoNotEqualToOrIsNull(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " is null OR " +
                IProductIssueNoteDAO.NoteUserPhoto + " <>", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoNotEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserPhoto);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserPhotoNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " <> ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoGreaterThan(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " >", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserPhoto);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserPhotoGreaterThan(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " > ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoGreaterThanOrEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " >=", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserPhoto);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserPhotoGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " >= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoLessThan(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " <", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserPhoto);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserPhotoLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " < ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoLessThanOrEqualTo(String value) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " <=", value,
                "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductIssueNoteDAO.NoteUserPhoto);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andNoteUserPhotoLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " <= ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " like",
                buffer.toString(), "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " not like",
                buffer.toString(), "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoIn(List<String> values) {
            if (values.size() == 1) {
                return andNoteUserPhotoEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " in",
                    values, "noteUserPhoto");

                return this;
            }
        }

        public Criteria andNoteUserPhotoNotIn(List<String> values) {
            if (values.size() == 1) {
                return andNoteUserPhotoNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " not in",
                    values, "noteUserPhoto");

                return this;
            }
        }

        public Criteria andNoteUserPhotoIn(String[] values) {
            if (values.length == 1) {
                return andNoteUserPhotoEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " in",
                    Arrays.asList(values), "noteUserPhoto");

                return this;
            }
        }

        public Criteria andNoteUserPhotoNotIn(String[] values) {
            if (values.length == 1) {
                return andNoteUserPhotoNotEqualTo(values[0]);
            } else {
                addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " not in",
                    Arrays.asList(values), "noteUserPhoto");

                return this;
            }
        }

        public Criteria andNoteUserPhotoIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andNoteUserPhotoBetween(String value1, String value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " between",
                value1, value2, "noteUserPhoto");

            return this;
        }

        public Criteria andNoteUserPhotoNotBetween(String value1, String value2) {
            addCriterion(IProductIssueNoteDAO.NoteUserPhoto + " not between",
                value1, value2, "noteUserPhoto");

            return this;
        }
    }
}
